Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
reeft_gps_test
/
include
:
gps_tracker_address_reverse.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php //====================================================================================== // // Function: Resolve address from coordinate // uses dataforsyningen.dk and gps-tracker as fallback // // Programmer: AR // Date : 2024-11-15 // // Copyright Reeft A/S (c) - 2024 //====================================================================================== // https://login.gps-tracker.dk/api/address/reverse?lang=en&lng=11.754098&lat=55.21014&user_api_hash=$2y$10$SC.XMMJovzAiHijfPf/0F.AAatv6EBPw.4S0DbyQCUHNErB7qfd4q // https://dawadocs.dataforsyningen.dk/dok/api/adgangsadresse#reverse //====================================================================================== // General //====================================================================================== include "include/apikey.php"; //====================================================================================== // Get input //====================================================================================== if (isset($_REQUEST["lat"])) $lat = $_REQUEST["lat"]; else $lat = 0; if (isset($_REQUEST["lng"])) $lng = $_REQUEST["lng"]; else $lng = 0; // call 'dataforsyningen' $parms = '?x=' . $lng . '&y=' . $lat . '&struktur=mini' ; // Set URL $url = $dataforsyningenUrl . '/' . 'adgangsadresser/reverse'; // Add parms $url = $url . $parms; // echo $url; // Create a new cURL resource $ch = curl_init($url); // Set the content type to application/json curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); // Return response instead of outputting curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_HEADER, false); // we do not need headers curl_setopt($ch, CURLOPT_NOBODY, false); // we don't need body // Execute the GET request $result = curl_exec($ch); $error_msg = ""; if (curl_errno($ch)) { $error_msg = curl_error($ch); } // Close cURL resource curl_close($ch); $dataReturn = json_decode($result, true); $returnResult = []; $returnResult["error"] = $error_msg; if (isset($dataReturn["id"])) { $returnResult["data"] = []; $returnResult["data"]["location"] = []; $returnResult["data"]["location"]["house"] = $dataReturn["husnr"]; $returnResult["data"]["location"]["road"] = $dataReturn["vejnavn"]; $returnResult["data"]["location"]["city"] = $dataReturn["postnrnavn"]; $returnResult["data"]["location"]["zip"] = $dataReturn["postnr"]; } else { $returnError = @$dataReturn["title"]; $returnErrorDetails = @$dataReturn["details"]; $returnResult["error"] .= " " .$returnError; $returnResult["data"] = ""; // Get location from gps-tracker $parms = '?' . 'lang=en' . '&lat=' . $lat . '&lng=' . $lng . '&user_api_hash=' . $gsmKey ; // Set URL $url = $dataforsyningenUrl . '/' . 'address/reverse'; // Add parms $url = $url . $parms; // echo $url; // Create a new cURL resource $ch = curl_init($url); // Set the content type to application/json curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); // Return response instead of outputting curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_HEADER, false); // we do not need headers curl_setopt($ch, CURLOPT_NOBODY, false); // we don't need body // Execute the GET request $result = curl_exec($ch); $error_msg = ""; if (curl_errno($ch)) { $error_msg = curl_error($ch); } // Close cURL resource curl_close($ch); $data = json_decode($result, true); $returnResult["error"] .= " " . $error_msg; if ($data["status"] != 1) { $returnResult["error"] .= " " .$data["message"]; $returnResult["data"] = ""; } else { $returnResult["data"] = $data; } } echo json_encode($returnResult);